A computing system may perform a technique called general-purpose computing on graphics processing units (GPGPU) by performing some tasks, which would otherwise be performed by a host processor of the computing system, using an available, high-performance graphics processing unit (GPU) of the computing system. Through GPGPU, a computing system may realize significant performance gains as GPGPU may enable the computing system to perform parallel processing of large-scale, computationally-intensive applications.
Despite the benefits GPGPU provides when performing computationally-intensive tasks, some computing systems that use GPGPU techniques may suffer a lag in performance when interacting with a data storage unit, such as a hard disk drive (HDD), a solid state drive (SDD), or other storage-medium. The host processor of a typical GPGPU computing system typically manages all information flow both to and from data storage units, therefore, a GPU may take more time to complete an operation (e.g., read or write) that involves an information exchange between the GPU and the data storage unit than a purely computational operation that does not require involvement with the data storage unit. In addition, a reliance on the host processor to manage all information exchanges with the data storage unit may prevent a system from benefiting from the advantages that true parallel-processing through GPGPU otherwise provides.